package space

import (
	"src/zeus/msgdef"
)

// EntityMsgProc Entity消息处理函数
type EntityMsgProc struct {
	e *Entity
}

func (proc *EntityMsgProc) MsgProc_PropsSyncClient(msg *msgdef.PropsSyncClient) {
	proc.e.CastMsgToAllClient(msg)
}

func (proc *EntityMsgProc) MsgProc_SyncUserState(msg *msgdef.SyncUserState) {
	if msg.EntityID == proc.e.GetID() {
		//		proc.e.syncClientUserState(msg)
	} else {
		proc.e.syncEntrustedState(msg)
	}
}

// 会话关闭,对应的会话连接断开的逻辑 ,不区分服务器客户端
func (proc *EntityMsgProc) MsgProc_SessClosed(uid uint64) {
	// log.Info("SessClosed ", proc.e)
	proc.e.SetClient(nil)

	// proc.e.LeaveSpace()
}

func (proc *EntityMsgProc) MsgProc_HeartBeat(msg *msgdef.HeartBeat) {
	tempDelay := msg.Delay
	if tempDelay > 100 {
		tempDelay -= 33
	}
	proc.e.SetDelay(tempDelay)
}
